package com.example.secondproject.secondproject;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private TextView tv1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btnJump = (Button) findViewById(R.id.btn_jumpToSecondActivity);
        btnJump.setOnClickListener(new View.OnClickListener()  {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this,
                        secondActivity.class);
                /**
                 * Intent intent:意图对象 int
                 * requestCode:请求码。请求码只要是一个唯一值就可以了，这里传入了1。
                 */
                // 使用startActivityForResult(Intent intent, int requestCode)方法启动SecondActivity
                startActivityForResult(intent, 1);
            }
        });

    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        /**
         * 思路分析： 由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动，
         * 每一个活动返回的数据都会回调到onActivityResult()这个方法中，
         * 因此我首先要做的是通过检查requestCode的值来判断数据来源
         * 。确定数据是从SecondActivity返回的之后，我们再通过resultCode的值来潘大U呢处理结果
         * 是否成功。最后从data中取值显示。这样就完成了向上一个活动返回数据的工作。
         */
        switch (requestCode) {
            case 1:
                if (resultCode == RESULT_OK) {
                    String returnedData = data.getStringExtra("data_return");
                    tv1.setText("返回的数据为:" + returnedData);
                }
                break;

            default:
                break;
        }
    }

}
